home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib02.dsk / NUMERIC KEYPAD LAB.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  43 lines

  1. 0  PRINT ""
  2. 1  REM  *************************
  3. 2  REM  ** NUMERIC KEYPAD      **
  4. 3  REM  ** MICRO-SPARC         **
  5. 4  REM  ** P.O. BOX 325        **
  6. 5  REM  ** LINCOLN, MASS 01773 **
  7. 6  REM  ** COPYRIGHT C 1980    **
  8. 7  REM  *************************
  9. 10  HOME 
  10. 20  PRINT "THIS PROGRAM REQUIRES THE NUMERIC KEYPAD";
  11. 30  PRINT "DESCRIBED IN THE ARTICLE, 'NUMERIC": PRINT "KEYPAD LAB,' WHICH APPEARED IN NIBBLE,": PRINT "VOLUME 1, NUMBER 5. HAVE YOU BUILT THE"
  12. 40  PRINT "KEYPAD AND IS IT CONNECTED TO YOUR": PRINT "COMPUTER? (Y/N) ";: POKE  -16368,0: GET ZZ$: PRINT ZZ$
  13. 50  IF ZZ$ < >"Y"  AND ZZ$ < >"N"  THEN 10
  14. 60  IF ZZ$ = "N"  THEN  HOME : PRINT "UNABLE TO RUN PROGRAM.": END 
  15. 95  HOME 
  16. 100 S1 =  PEEK( -16287):S2 =  PEEK( -16286):S3 =  PEEK( -16285):P =  PDL(0)
  17. 110  FOR I = 1 TO 25: NEXT I
  18. 115  VTAB 12: CALL  -868
  19. 117  IF S1 <128  AND S2 <128  AND S3 <128  THEN 100
  20. 120  PRINT "P=";P;: PRINT  TAB( 8)"S1=";S1;: PRINT  TAB( 16)"S2=";S2;: PRINT  TAB( 24)"S3=";S3
  21. 130  IF S1 >127  THEN A$ = "3":B$ = "6":C$ = "9":D$ =  CHR$(13): GOSUB 200
  22. 135  IF S2 >127  THEN A$ = "2":B$ = "5":C$ = "8":D$ = "0": GOSUB 200
  23. 140  IF S3 >127  THEN A$ = "1":B$ = "4":C$ = "7":D$ = ".": GOSUB 200
  24. 142  IF S1 <128  AND S2 <128  AND S3 <128  THEN 100
  25. 145  IF SS = 0  THEN  VTAB 20: PRINT "THE FIRST NUMBER BEING BUILT IS:  ";AA$ +W$
  26. 147  IF SS = 1  THEN  VTAB 21: PRINT "SECOND NUMBER BEING BUILT IS:  ";AA$ +W$
  27. 150  IF W$ =  CHR$(13)  AND SS = 0  THEN SS = 1:BB$ = AA$:AA$ = "": PRINT "CARRIAGE RETURN": GOTO 100
  28. 155  IF W$ =  CHR$(13)  AND SS = 1  THEN SS = 0: GOSUB 400
  29. 160 AA$ = AA$ +W$: GOTO 100
  30. 200  IF P = 23  THEN W$ = A$: RETURN 
  31. 205  IF P = 40  THEN W$ = B$: RETURN 
  32. 210  IF P = 64  THEN W$ = C$: RETURN 
  33. 220  IF P = 79  THEN W$ = D$: RETURN 
  34. 225 W$ = "": POP : GOTO 100
  35. 400  REM 
  36. 405 N1 =  VAL(BB$):N2 =  INT(N1):L1$ =  STR$(N2)
  37. 407 X1 =  VAL(AA$):X2 =  INT(X1):L2$ =  STR$(X2)
  38. 408 T = N1 +X1:T2 =  INT(T):L3$ =  STR$(T2)
  39. 410  HOME : PRINT  TAB( 10 - LEN(L1$))N1
  40. 415  PRINT  TAB( 10 - LEN(L2$))X1
  41. 420  PRINT  TAB( 5)"------------"
  42. 425  PRINT  TAB( 10 - LEN(L3$))T
  43. 430 BB$ = "":AA$ = "":W$ = "": RETURN